package jhlee42;

import java.util.Scanner;

public class ch03_164_03 {
	
	public static void main(String[] args) {
		
		while (1==1) {
						
				int input;
				int divide_begin = 0;
				int divide_end;
				int convert_to_2 = 0;
				int cal = 0;
				int num_one = 0;
				Scanner sc;
				sc = new Scanner(System.in);
			
				System.out.println("0 보다 큰 임의의 정수를 입력하세요..");	
				
				input = sc.nextInt();		
				cal = input;		
				divide_begin = 9999999; // 최초 진입을 위해서..
				int loop = 0;
				while (divide_begin != 0) { // divide_begin = 0 되면 while 구문 나감..
					
					divide_begin = cal / 2; 
					divide_end = cal % 2; // !!!!!!!!!!1.  위에서 가지고 온 값을 계산해서 안되는구나... 2. 변하지 않는 한 값이 존재 해야한다.
					
					//convert_to_2 = convert_to_2 + (divide_end*(10^loop));		
					convert_to_2 = (int) (convert_to_2 + (divide_end*(Math.pow(10, loop))));
					if (divide_end == 1) { num_one = num_one + 1;}
		
		//			System.out.println(convert_to_2);			
		//			System.out.println((Math.pow(10, loop)));
		//			System.out.println((divide_end*(Math.pow(10, loop))));			
		//			System.out.println(convert_to_2 + (divide_end*(Math.pow(10, loop))));	
		//			System.out.println(convert_to_2 + (divide_end*(10^loop)));
					
					loop = loop + 1;
					cal = divide_begin;
		
				}
				System.out.println(input+" 의 2진수는             "+convert_to_2+" 입니다.");
				System.out.println(convert_to_2+" 1 의 갯숫는..    "+num_one+" 개 입니다.");
				System.out.println("*********************************************");
		
		}
		
		
	}
}
